
#if !defined(AFX_EMU_H__D9FE1A8E_D941_4F1A_BC45_27D1B627D547__INCLUDED_)
#define AFX_EMU_H__D9FE1A8E_D941_4F1A_BC45_27D1B627D547__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "resource.h"

UINT32 _00401000();
void _0040100A();
UINT8 ReadFlash(UINT32 v1);
void WriteFlash(UINT32 addr, UINT8 data);
void _004013F0();
void _00402C3F();
void DBG_Disassembly(UINT32 *v1, CHAR* v2, UINT32 v3, UINT32 *v4);
UINT32 _00402FE9(UINT32 v1);
BOOL _00403020();
UINT8* _00403070(LPCSTR lpFileName, UINT32 writable);
BOOL _00403260();
void _004032D0(UINT32 v1);
BOOL _00403317();
BOOL InitLcd();
BOOL DeleteLcd();
void _00403802(UINT8 v1);
void _0040385D();
void _00403B7C();
BOOL EMU_Init(UINT32 ebp_8);
HANDLE EMU_GetACKHandle();
HWND EMU_GetMainWnd();
BOOL EMU_Destroy();
void _00404781();
void _004047B6();
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
void _00404A08(LPARAM v1);
BOOL EMU_MessageLoop();
void EMU_SetRunning(UINT32 v1);
struct CPU *EMU_GetRegPtr();
BOOL LoadRom();
void _00405558();
BOOL _004055B6();
void _00405644();
void _0040569A();
void _004057C3();
UINT32 _004058E7(UINT32 v1);
UINT32 MEM_ConvertAdr(UINT32 v1);
void MEM_Poke(UINT32 v1, UINT32 v2);
UINT32 MEM_Peek(UINT32 v1);
void MEM_PokeL(UINT32 v1, UINT32 v2);
UINT32 MEM_PeekL(UINT32 v1);
void _00405A80();
void _00405AD2();
BOOL AllocMemory();
void AddressingModeNop();
void AddressingModeImmediate();
void AddressingModeAbsolute();
void AddressingModeNone();
void AddressingModeIndirect();
void AddressingModeAbsoluteX();
void AddressingModeAbsoluteY();
void AddressingModeZeroPage();
void AddressingModeZeroPageX();
void AddressingModeZeroPageY();
void AddressingModeIndirectX();
void AddressingModeIndirectY();
void InstructionAdc();
void InstructionAnd();
void InstructionAsl();
void InstructionAsl_A();
void InstructionBbr0();
void InstructionBbr1();
void InstructionBbr2();
void InstructionBbr3();
void InstructionBbr4();
void InstructionBbr5();
void InstructionBbr6();
void InstructionBbr7();
void InstructionBbs0();
void InstructionBbs1();
void InstructionBbs2();
void InstructionBbs3();
void InstructionBbs4();
void InstructionBbs5();
void InstructionBbs6();
void InstructionBbs7();
void InstructionBcc();
void InstructionBcs();
void InstructionBeq();
void InstructionBit();
void InstructionBmi();
void InstructionBne();
void InstructionBpl();
void InstructionBra();
void InstructionUnknown();
void InstructionBvc();
void InstructionBvs();
void InstructionClc();
void InstructionCld();
void InstructionCli();
void InstructionClv();
void InstructionCmp();
void InstructionCpx();
void InstructionCpy();
void InstructionDec_A();
void InstructionDec();
void InstructionDex();
void InstructionDey();
void InstructionEor();
void InstructionInc_A();
void InstructionInc();
void InstructionInx();
void InstructionIny();
void InstructionJmp();
void InstructionJsr();
void InstructionLda();
void InstructionLdx();
void InstructionLdy();
void InstructionLsr();
void InstructionLsr_A();
void InstructionNop();
void InstructionOra();
void InstructionPha();
void InstructionPhp();
void InstructionPhx();
void InstructionPhy();
void InstructionPla();
void InstructionPlp();
void InstructionPlx();
void InstructionPly();
void InstructionRol();
void InstructionRol_A();
void InstructionRor();
void InstructionRor_A();
void InstructionRti();
void InstructionRts();
void InstructionSbc();
void InstructionSec();
void InstructionSed();
void InstructionSei();
void InstructionSta();
void InstructionStx();
void InstructionSty();
void InstructionStz();
void InstructionTax();
void InstructionTay();
void InstructionTsx();
void InstructionTxa();
void InstructionTxs();
void InstructionTya();
void ReadRegister();
void ReadAddr1();
void ReadAddr2();
void ReadAddr3();
void ReadAddr4();
void ReadBkSel();
void ReadBkAdrL();
void ReadBkAdrH();
void ReadUrCon1();
void ReadSBuf();
void WriteRegister();
void WriteAddr1();
void WriteAddr2();
void WriteAddr3();
void WriteAddr4();
void WriteBkSel();
void WriteBkAdrL();
void WriteBkAdrH();
void WriteIsr();
void WriteTIsr();
void WriteSysCon();
void WriteUsCon1();
void WriteSBuf();
void NoInterruption();
void _00408EE0(UINT32 address, void (*func)());
void _00408EF2(UINT32 reg, void (*func)());
void _00408F04();
void _0040B7A9();
void _0040B995();
BOOL _0040BA15();
UINT32 _0040BA29(UINT32 v1);
void _0040BA38();
void _0040BA60();
void _0040BAB7();
void InterruptHandle();
void _0040BD0B(UINT32);
void _0040BF83();
UINT32 MCU_GetPhysicalPC(UINT32 v1);
void _0040C190();
void _0040C1E0();

#ifdef _DEBUG
void debug_save_regedits();
#endif

#endif // !defined(AFX_EMU_H__D9FE1A8E_D941_4F1A_BC45_27D1B627D547__INCLUDED_)
